home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-13
/
amac44d.zip
/
VDAT10.QM
< prev
next >
Wrap
Text File
|
1992-05-27
|
41KB
|
713 lines
* VDAT10.QM v1.0a
* Macros To Scroll and View Row and Column Descriptions
* of Data In "Deep and Wide" Tables Scrolled Off Screen
* ═════════════════════════════════════════════════════════
* 5/30/92
*
* (Bytes)
* Scroll and View Row and Column Descriptions Scrolled Off Screen
* ├── ^CursorLeft ──- Scroll Left of Cursor ( ) 139
* ├── ^CursorRight ──- Scroll Right of Cursor 143
* ├── ^CursorUp ──- Scroll Up From Cursor 151
* └── ^CursorDown ──- Scroll Down From Cursor 151
*
* f4 View Snapshot of Row and Column Descriptions (No scroll) 119
* @3 Close Window 2 and Quit Nul After Invoking Ctrl_Cursor Macros
*
* f7 Jump to Previous Position Marker in Current File
* f8 Jump to Next Position Marker in Current File
* @h Jump To Selected Index Item In File From Index
* @1 Right Justify Column Block of Data
*
* Description of Macros
* How To Use These Macros
* Notes
* Data Table For Testing
* Examples and Sample Output
* Changing Macros For Different Data Tables
*
*--eoi
* (DESCRIPTION)
* ──────────────
* These macros show in a window the row and column descriptions of data
* in "wide and deep" data tables whose row and column descriptions may
* have scrolled from the screen. The macros may be invoked continually
* to view the row and column descriptions while scrolling through data.
* (HOW) TO USE THESE MACROS
* ──────────────────────────
* 1) Macros ^CursorRight, ^CursorLeft, ^CursorDown, or ^CursorUp:
* a) These macros are invoked with the cursor on data in a
* table whose row and column descriptions may have scrolled
* from the screen. The row and column descriptions of data
* at the cursor is viewed in window 2. Continually invoking
* these macros moves the cursor to the next data in the
* respective direction (i.e. ^CursorLeft macro moves the
* cursor to the next data left of the cursor), with the
* data's description scrolling at the same time. The cursor
* remains in window 1 so data can be edited or viewed while
* scrolling. Data at the cursor when the macro was invoked
* is continually highlighted in window 2 for visibility.
* b) Use @3 to quickly remove the second viewing window and
* quit the Nul file.
* 2) For macros f4/f7/f8/@1/@3/@h, see macro descriptions below.
* (NOTES)
* ────────
* 1 - Data and descriptions must be a paragraph - no empty lines.
* 2 - Row descriptions and only row descriptions (no data) must be in
* columns 1-10. For wider or narrower row description columns,
* see "Changing Macros" below.
* 3 - Column descriptions must be two lines. For column descriptions
* with more or less lines, see "Changing Macros" below.
* 4 - QEdit v2.15 is required.
* 5 - Data entries can be empty except in the last data column
* (furthest right), and there must be at least one data entry in
* each row.
* 6 - All data entries should be right justified. Macro @1 from
* Amac43.zip rfr004.qm to right justify column blocks of data is
* included.
* 7 - Column description entries may be multiple words, and may
* extend right no more than one character past right justified
* data or left to within no more than one character of the
* previous right justified data column.
* 8 - If any data column 1 data is viewed, these macros remove from
* viewing the last character of the row's description. This
* condition can be corrected, if desired, by removing the
* [cursorleft], as noted. Doing this, however, limits data and
* column descriptions to be separated by at least 2 spaces, not 1
* when the [cursorleft] is included.
* 9 - If Qconfig is set to insert blocks above the line, the
* following line/commands can be removed, as noted:
* "isemptyline jfalse 3 delline"
* 10 - If Qconfig is set to close windows on [quit], the following
* line/commands can be removed from f4, as noted:
* "prevwindow onewindow"
*
* (DATA) TABLE FOR TESTING (See Notes above for use)
* ────────────────────────────────────────────────────────────────────
* A larger sample data table containing 10 columns and 50 lines is
* included as vdat.tst in amacxx.zip. Following is a portion of this
* table for testing. Please note that, unless the macros are modified,
* the data table top and bottom lines MUST be blank, the row
* descriptions MUST be in columns 1-10, and column descriptions must be
* two lines.
* Column Column Column Column Column Column
* 01 02 03 04 05 06
* Row 01 01.01 01.02 01.03 01.04 01.05 01.06
* Row 02 02.01 02.02 02.03 02.04 02.05 02.06
* Row 03 03.01 03.02 03.03 03.04 03.05 03.06
* Row 04 04.01 04.02 04.03 04.04 04.05 04.06
* Row 05 05.01 05.02 05.03 05.04 05.05 05.06
* Row 06 06.01 06.02 06.03 06.04 06.05 06.06
* Row 07 07.01 07.02 07.03 07.04 07.05 07.06
* Row 08 08.01 08.02 08.03 08.04 08.05 08.06
* Row 09 09.01 09.02 09.03 09.04 09.05 09.06
* Row 10 10.01 10.02 10.03 10.04 10.05 10.06
* (EXAMPLES) AND SAMPLE OUTPUT
* ─────────────────────────────
* Following are examples with the rows and column descriptions scrolled
* off the screen and invoking the macros in this Data Table:
* Data Columns
* 01..+...10
*
* 1) With cursor on "05.05" or space before, ^CursorRight gives . . .
*
* Column
* 06
* *──Row──05─────05.06
* * Row 06 06.06
* * Row 07 07.06
* * Row 08 08.06
* * Row 09 09.06
* * Row 10 10.06
* 2) With cursor on "09.02" or space before, ^CursorDown gives . . .
*
* Column Column Column Column Column
* 02 03 04 05 06
* *──Row──10─────10.02 10.03 10.04 10.05 10.06
* 3) With cursor on "10.02" on space before, f4 gives . . .
*
* Column Column Column Column Column
* 02 03 04 05 06
* * Row 10 10.02 10.03 10.04 10.05 10.06
* (CHANGING) MACROS FOR DIFFERENT DATA TABLES
* ────────────────────────────────────────────
* Only two changes to each macro are needed to accomadate data
* tables with different row and column descriptions:
* 1) Column descriptions must be two lines. For column
* descriptions with more or less lines, this macro may be
* modified by changing the number of [CURSORDOWN's] to
* equal the number of column description lines, as noted.
* 2) Row descriptions and only row descriptions (no data) must
* be in columns 1-10. For wider or narrower row
* description columns, this macro can be modified by
* changing the [gotocolumn "10"] to [gotocolumn "nn"] where
* "nn" is the row description column width, as noted.
* (OTHER) MACROS
* ───────────────
* See AMACxx.ZIP for many other QEdit macros.
* M A C R O S
* ----------------------------------------------------------------------
* ^(CursorLeft) View Row and Column Descriptions of Data
* Scrolled Off Screen, Scroll Left of Cursor
* ----------------------------------------------------------------------
* See "How To Use Macros" above for use of this macro.
^cursorleft macrobegin
setscreenoff setinsmode altwordset setsoundoff
setwordwrapmode togglewordwrap
* ---------------- End Macro If We're On Empty Lines ----------------*
isemptyline jtrue END * Can't start on empty line
* -------------- Position Cursor On Data Left of Cursor --------------*
markword jfalse 0 * Wordleft if cursor not on data
wordright wordleft * Pos on char 1 of cursor data
0: wordleft * Pos char 1 data left of cursor
#173 * Insert pos marker
* ------------------ Paste Data/Descriptions To Nul ------------------*
endpara unmarkblock markline * Mark endpara
prevpara copy * Copy data/desc to scrap
find #173 return delline return * Find pos marker
delch * Delete it, now posit'nd on data
onewindow horizontalwindow * Open 2 windows
editfile "nul" return * Load Nul window 2
endfile markline
begfile deleteblock * Make empty Nul
paste * Paste data/desc to Nul
* -------------- Remove Redundant Data And Descriptions --------------*
isemptyline jfalse 3 delline * For Qconfig set to insert
* blocks above or below line
* (Can remove line if set above)
3: repeatfind wordleft * Move to prev data
cursorup markword * Mark word up one line
begfile markcolumn * Finish marking redund blk
fillblock " " return * Delete redundant entries
gotocolumn "10" return * Change "10" for diff row
* desc col widths
cursorright * Move out of row desc's
unmarkblock markcolumn * Start blk w/o row desc's
repeatfind * Move to pos marker
splitline endline * Move to end of prev data
prevposition joinline prevposition * Include redundant data
cursorleft * Don't include extra spc in blk
* (If removed, data and col
* desc's must be separated by
* at least 2 spaces, but viewing
* data in col 1 is then ok)
4: pagedown jtrue 4 * Get all redundant data in blk
deleteblock * Delete it to bof
begfile * Goto bof
CURSORDOWN * Pos on col desc line 2
* (Add/delete cursordown's for
* more/less col desc lines)
CURSORDOWN * Move to data row 1
5: markline * Mark to test data redundancy
* -------- Quit If Macro Was Not Invoked With Cursor In Data --------*
isemptyline jfalse 5A * End if not started in data
quit * Quit Nul
prevwindow onewindow * Data window 1, close windows
jump END * End macro
* - Delete Position Marker And Remaining Redundant Data/Descriptions -*
5A: find return "L" return jtrue 6 * Test if on marker row
delline jump 5 * Delete redundant all rows
6: delch * Delete pos marker we're on
prevwindow * Data window
markword gotoblockend cursorleft * Pos on data last char
* -------------------- Highlight Data In Window 2 --------------------*
nextwindow * Nul window
markword * Mark data in Nul
* ---- Fill Empty Space Between Row Description and Data With "─" ----*
begline * To begin of title desc
markcolumn * Close block
findreplace * Replace
" " return * all empty spaces
#196 return "LN" return * with "─", in block
gotoblockend cursorleft * Pos on data last char
markword * Re-highlight data in window 2
prevwindow * Data window 1
END: defaultwordset makectrofscreen * Re-set, to view more data lines
*
* 139 bytes Mon 05-04-1992 12:07:35 (TH ^cursorleft, to ALL #3/841-845)
*
* ----------------------------------------------------------------------
* ^(CursorRight) View Row and Column Descriptions of Data
* Scrolled Off Screen, Scroll Right of Cursor
* ----------------------------------------------------------------------
* See "How To Use Macros" above for use of this macro.
^cursorright macrobegin
setscreenoff setinsmode altwordset setsoundoff
setwordwrapmode togglewordwrap
* ---------------- End Macro If We're On Empty Lines -----------------*
isemptyline jtrue END * Can't start on empty line
* -------------- Position Cursor On Data Right of Cursor -------------*
isendline jtrue 1 wordright * If at eol, wordleft
isendline jtrue 1 wordright * If at eol, wordleft
1: wordleft * Pos char 1 data rt of cursor
#173 * Insert pos marker
* ------------------ Paste Data/Descriptions To Nul ------------------*
endpara unmarkblock markline * Mark endpara
prevpara copy * Copy data/desc to scrap
find #173 return delline return * Find pos marker
delch * Delete it, now posit'nd on data
onewindow horizontalwindow * Open 2 windows
editfile "nul" return * Load Nul window 2
endfile markline
begfile deleteblock * Make empty Nul
paste * Paste data/desc to Nul
* -------------- Remove Redundant Data And Descriptions --------------*
isemptyline jfalse 3 delline * For Qconfig set to insert
* blocks above or below line
* (Can remove line if set above)
3: repeatfind wordleft * Move to prev data
cursorup markword * Mark word up one line
begfile markcolumn * Finish marking redund blk
fillblock " " return * Delete redundant entries
gotocolumn "10" return * Change "10" for diff row
* desc col widths
cursorright * Move out of row desc's
unmarkblock markcolumn * Start blk w/o row desc's
repeatfind * Move to pos marker
splitline endline * Move to end of prev data
prevposition joinline prevposition * Include redundant data
cursorleft * Don't include extra spc in blk
* (If removed, data and col
* desc's must be separated by
* at least 2 spaces, but viewing
* data in col 1 is then ok)
4: pagedown jtrue 4 * Get all redundant data in blk
deleteblock * Delete it to bof
begfile * Goto bof
CURSORDOWN * Pos on col desc line 2
* (Add/delete cursordown's for
* more/less col desc lines)
CURSORDOWN * Move to data row 1
5: markline * Mark to test data redundancy
* -------- Quit If Macro Was Not Invoked With Cursor In Data --------*
isemptyline jfalse 5A * End if not started in data
quit * Quit Nul
prevwindow onewindow * Data window 1, close windows
jump END * End macro
* - Delete Position Marker And Remaining Redundant Data/Descriptions -*
5A: find return "L" return jtrue 6 * Test if on marker row
delline jump 5 * Delete redundant all rows
6: delch * Delete pos marker we're on
prevwindow * Data window
markword gotoblockend cursorleft * Pos on data last char
* -------------------- Highlight Data In Window 2 --------------------*
nextwindow * Nul window
markword * Mark data in Nul
* ---- Fill Empty Space Between Row Description and Data With "─" ----*
begline * To begin of title desc
markcolumn * Close block
findreplace * Replace
" " return * all empty spaces
#196 return "LN" return * with "─", in block
gotoblockend cursorleft * Pos on data last char
markword * Re-highlight data in window 2
prevwindow * Data window 1
END: defaultwordset makectrofscreen * Re-set, to view more data lines
*
* 143 bytes Mon 05-04-1992 12:07:59 (TH ^cursorright, to ALL #3/841-845)
*
* ----------------------------------------------------------------------
* ^(CursorUp) View Row and Column Descriptions of Data
* Scrolled Off Screen, Scroll Up From Cursor
* ----------------------------------------------------------------------
* See "How To Use Macros" above for use of this macro.
^cursorup macrobegin
setscreenoff setinsmode altwordset setsoundoff
setwordwrapmode togglewordwrap
* ---------------- End Macro If We're On Empty Lines ----------------*
cursorUP * Move up one line
isemptyline jtrue END * Can't have empty data lines
* ------------ Position Cursor On Data Left of Cursor Up ------------*
markword jfalse 0 * Wordleft if cursor not on data
wordright wordleft * Pos on char 1 of cursor data
0: wordleft * Pos char 1 data left of cursor
* ----- Position Cursor On Data Right of Data Left of Cursor Up -----*
isendline jtrue 1 wordright * If at eol, wordleft
isendline jtrue 1 wordright * If at eol, wordleft
1: wordleft * Pos char 1 data rt of cursor
#173 * Insert pos marker
* ------------------ Paste Data/Descriptions To Nul ------------------*
endpara unmarkblock markline * Mark endpara
prevpara copy * Copy data/desc to scrap
find #173 return delline return * Find pos marker
delch * Delete it, now posit'nd on data
onewindow horizontalwindow * Open 2 windows
editfile "nul" return * Load Nul window 2
endfile markline
begfile deleteblock * Make empty Nul
paste * Paste data/desc to Nul
* -------------- Remove Redundant Data And Descriptions --------------*
isemptyline jfalse 3 delline * For Qconfig set to insert
* blocks above or below line
* (Can remove line if set above)
3: repeatfind wordleft * Move to prev data
cursorup markword * Mark word up one line
begfile markcolumn * Finish marking redund blk
fillblock " " return * Delete redundant entries
gotocolumn "10" return * Change "10" for diff row
* desc col widths
cursorright * Move out of row desc's
unmarkblock markcolumn * Start blk w/o row desc's
repeatfind * Move to pos marker
splitline endline * Move to end of prev data
prevposition joinline prevposition * Include redundant data
cursorleft * Don't include extra spc in blk
* (If removed, data and col
* desc's must be separated by
* at least 2 spaces, but viewing
* data in col 1 is then ok)
4: pagedown jtrue 4 * Get all redundant data in blk
deleteblock * Delete it to bof
begfile * Goto bof
CURSORDOWN * Pos on col desc line 2
* (Add/delete cursordown's for
* more/less col desc lines)
CURSORDOWN * Move to data row 1
5: markline * Mark to test data redundancy
* -------- Quit If Macro Was Not Invoked With Cursor In Data --------*
isemptyline jfalse 5A * End if not started in data
quit * Quit Nul
prevwindow onewindow * Data window 1, close windows
jump END * End macro
* - Delete Position Marker And Remaining Redundant Data/Descriptions -*
5A: find return "L" return jtrue 6 * Test if on marker row
delline jump 5 * Delete redundant all rows
6: delch * Delete pos marker we're on
prevwindow * Data window
markword gotoblockend cursorleft * Pos on data last char
* -------------------- Highlight Data In Window 2 --------------------*
nextwindow * Nul window
markword * Mark data in Nul
* ---- Fill Empty Space Between Row Description and Data With "─" ----*
begline * To begin of title desc
markcolumn * Close block
findreplace * Replace
" " return * all empty spaces
#196 return "LN" return * with "─", in block
gotoblockend cursorleft * Pos on data last char
markword * Re-highlight data in window 2
prevwindow * Data window 1
END: defaultwordset makectrofscreen * Re-set, to view more data lines
*
* 151 bytes Mon 05-04-1992 12:08:25 (TH ^cursorup, to ALL #3/841-845)
*
* ----------------------------------------------------------------------
* ^(CursorDown) View Row and Column Descriptions of Data
* Scrolled Off Screen, Scroll Down From Cursor
* ----------------------------------------------------------------------
* See "How To Use Macros" above for use of this macro.
^cursordown macrobegin
setscreenoff setinsmode altwordset setsoundoff
setwordwrapmode togglewordwrap
* ---------------- End Macro If We're On Empty Lines ----------------*
cursorDOWN * Move down one line
isemptyline jtrue END * Can't have empty data lines
* ----------- Position Cursor On Data Left of Cursor Down -----------*
markword jfalse 0 * Wordleft if cursor not on data
wordright wordleft * Pos on char 1 of cursor data
0: wordleft * Pos char 1 data left of cursor
* ---- Position Cursor On Data Right of Data Left of Cursor Down ----*
isendline jtrue 1 wordright * If at eol, wordleft
isendline jtrue 1 wordright * If at eol, wordleft
1: wordleft * Pos char 1 data rt of cursor
#173 * Insert pos marker
* ------------------ Paste Data/Descriptions To Nul ------------------*
endpara unmarkblock markline * Mark endpara
prevpara copy * Copy data/desc to scrap
find #173 return delline return * Find pos marker
delch * Delete it, now posit'nd on data
onewindow horizontalwindow * Open 2 windows
editfile "nul" return * Load Nul window 2
endfile markline
begfile deleteblock * Make empty Nul
paste * Paste data/desc to Nul
* -------------- Remove Redundant Data And Descriptions --------------*
isemptyline jfalse 3 delline * For Qconfig set to insert
* blocks above or below line
* (Can remove line if set above)
3: repeatfind wordleft * Move to prev data
cursorup markword * Mark word up one line
begfile markcolumn * Finish marking redund blk
fillblock " " return * Delete redundant entries
gotocolumn "10" return * Change "10" for diff row
* desc col widths
cursorright * Move out of row desc's
unmarkblock markcolumn * Start blk w/o row desc's
repeatfind * Move to pos marker
splitline endline * Move to end of prev data
prevposition joinline prevposition * Include redundant data
cursorleft * Don't include extra spc in blk
* (If removed, data and col
* desc's must be separated by
* at least 2 spaces, but viewing
* data in col 1 is then ok)
4: pagedown jtrue 4 * Get all redundant data in blk
deleteblock * Delete it to bof
begfile * Goto bof
CURSORDOWN * Pos on col desc line 2
* (Add/delete cursordown's for
* more/less col desc lines)
CURSORDOWN * Move to data row 1
5: markline * Mark to test data redundancy
* -------- Quit If Macro Was Not Invoked With Cursor In Data --------*
isemptyline jfalse 5A * End if not started in data
quit * Quit Nul
prevwindow onewindow * Data window 1, close windows
jump END * End macro
* - Delete Position Marker And Remaining Redundant Data/Descriptions -*
5A: find return "L" return jtrue 6 * Test if on marker row
delline jump 5 * Delete redundant all rows
6: delch * Delete pos marker we're on
prevwindow * Data window
markword gotoblockend cursorleft * Pos on data last char
* -------------------- Highlight Data In Window 2 --------------------*
nextwindow * Nul window
markword * Mark data in Nul
* ---- Fill Empty Space Between Row Description and Data With "─" ----*
begline * To begin of title desc
markcolumn * Close block
findreplace * Replace
" " return * all empty spaces
#196 return "LN" return * with "─", in block
gotoblockend cursorleft * Pos on data last char
markword * Re-highlight data in window 2
prevwindow * Data window 1
END: defaultwordset makectrofscreen * Re-set, to view more data lines
*
* 151 bytes Mon 05-04-1992 12:08:34 (TH ^cursordown, to ALL #3/841-845)
*
* ----------------------------------------------------------------------
* (f4) View Snapshot of Row and Column Descriptions of Data At Cursor,
* (No scroll)
* ----------------------------------------------------------------------
* This macro enables the row and column descriptions for data in a
* table to be viewed in a window. This can be useful for taking a
* "snapshot" showing the actual row and column descriptions of data at
* the curosr if the descriptions have scrolled from the screen while
* editing "wide and deep" tables.
* Place the cursor on or before any data in the table above and press
* f4. At the pause, press <enter> to end macro and close viewing
* window. This macro must be modified for data tables with different
* row and column descriptions as described in "Changing Macros" above.
f4 macrobegin
setscreenoff setinsmode altwordset setsoundoff
setwordwrapmode togglewordwrap
markword jtrue 2 * Mark cur data
isendline jtrue 1 * Test if past last data
wordright wordright * Pos for wordleft
1: wordleft * Pos on cur data
2: gotoblockbeg #173 * Insert pos marker
endpara unmarkblock markline * Mark endpara
prevpara copy * Copy data/desc to scrap
find #173 return delline return * Find pos marker *|
delch * Delete it, now posit'nd on data
onewindow horizontalwindow * Open 2 windows
editfile "nul" return * Load Nul
endfile markline * Insure Nul file is empty *|
begfile deleteblock * if already loaded *|
paste * Paste data/desc to Nul
isemptyline jfalse 3 delline * For Qconfig set to insert
* blocks above or below line
* (Can remove line if set above)
3: repeatfind wordleft * Move to prev data *|
cursorup markword * Mark word up one line *|
begfile markcolumn * Finish marking redundant blk *|
fillblock " " return * Delete redundant entries
gotocolumn "10" return * Change "10" for diff row
* desc col widths
cursorright * Move out of row desc's
unmarkblock markcolumn * Start blk w/o row desc's
repeatfind * Move to pos marker
splitline endline * Move to end of prev data
prevposition joinline prevposition * Include redundant data
cursorleft * Don't include extra spc in blk
* (If removed, data and col
* desc's must be separated by
* at least 2 spaces, but viewing
* data in col 1 is then ok)
4: pagedown jtrue 4 * Get all redundant data in blk
deleteblock * Delete it to bof
begfile * Goto bof
CURSORDOWN * Pos on col desc line 2
* (Add/delete cursordown's for
* more/less col desc lines)
CURSORDOWN * Move to data row 1
5: markline * Mark to test data redundancy
* -------- Quit If Macro Was Not Invoked With Cursor In Data --------*
isemptyline jtrue 6 * End if not started in data *|
find return "L" return jtrue 6 * Test if on marker row
delline jump 5 * Delete redundant all rows
6: delch * Delete pos marker we're on *|
markword * Highlight data in window *|
prevwindow makectrofscreen * To see data above/below line *|
setscreenon * Turn screen on
pause * Pause to view
setscreenoff *|
nextwindow
END: quit * Quit Nul *|
prevwindow onewindow * Close windows
* (Can remove line if quit
defaultwordset * closes windows)
*
* 116 bytes Wed 04-29-1992 15:42:43 (TH f4, to GG #20/623)
* 119 bytes Mon 05-04-1992 12:09:25 (TH f4, changed *|, to ALL #3/841-845)
*
* --------------------------------------------------------------------
* @(1) Right Justify Column Block (From AMACxx.ZIP rfr004.qm)
* --------------------------------------------------------------------
* This macro right justifies any column marked as a column block, open
* or closed. For example, marking the numbers as a column block:
* This Becomes this
* ┌─────────────────┐ ┌─────────────────┐
* │123456789 │ │ 123456789│
* │ 123456789.1 │ │ 123456789.1│
* │123456789.12 │ │ 123456789.12│
* │ 123456789.123│ │ 123456789.123│
* │123456789 │ │ 123456789│
* │ 123456789.1 │ │ 123456789.1│
* │123456789.12 │ │ 123456789.12│
* │ 123456789.123│ │ 123456789.123│
* └─────────────────┘ └─────────────────┘
@1 macrobegin
setscreenoff
editfile "nul" return quit gotoblockbeg jfalse END
editfile return
copyblock gotoblockend cursorleft addline #173 cursorup
LOOP: unmarkblock markcolumn endline
cut begline paste endline jtrue EMPTY gotoblockend
EMPTY: cursorleft cursorup jtrue LOOP begfile cursorright
markcolumn endfile cursorup
copy quit pasteover
END: unmarkblock
*
* 52 bytes Tue 03-31-1992 09:47:19 (TH @1, to All #3/841-845)
*
* ----------------------------------------------------------------------
* @(3) Close Viewing Window And Quit Nul File After Invoking Either
* ^CursorRight, ^CursorLeft, ^CursorDown, or ^CursorUp
* ----------------------------------------------------------------------
* This macro is handy for quickly removing the viewing window and
* quitting the Nul file when using CursorRight, ^CursorLeft,
* ^CursorDown, or ^CursorUp.
@3 macrobegin setscreenoff
onewindow horizontalwindow
editfile "Nul" return quit * Insure Nul in window 2
prevwindow unmarkblock onewindow * Need if Qconfig not set
* * to close window on quit
* 19 bytes Fri 05-01-1992 22:13:56 (TH @3, to All #3/841-845)
*
* ----------------------------------------------------------------------
* @(h) Jump To Selected Index Item In File From Index
* ----------------------------------------------------------------------
* Press @ and h at the same time. Cursor down to desired line in
* Index. Press <enter> to jump to the selected item in file from the
* Index. See BOOKnn.QM in AMACnn.Zip for more discussion.
@h macrobegin begfile unmarkblock markline markline
pause
wordright markword copy endpara
find "(" paste ")" return return
begline
*
* 22 bytes Tue 04-09-1991 16:23:53
*
* ------------------------------------------------------
* (f7) Jump to Previous Position Marker in Current File
* ------------------------------------------------------
* f7 jumps to the previous position marker in the file currently being
* edited. See JMPPOSnn.QM for more.
f7 MacroBegin
setscreenoff * Remove if not using QEdit v2.15 *|
BegLine ScrollUp BegScreen * Move cursor in front of Marker in
* case current screen is positioned
* with marker right on top
Find * Search
#031 #030 Return "B" Return * backwards for Marker
JTrue FOUND * Test if Found, go to FOUND
Prevposition *ELSE if not found,
Find Return "GB" Return * Do global search from bottom up
* Keeps starting cursor position
* if no marker in file
Jfalse END * Test if not found, end macro
FOUND: *ELSE marker was found
MakeTopofScreen * Position Label Line at Top of Screen
END: ScrollDown * Remove it from View
*
* 32 bytes Sat 05-04-1991 01:36:19 (TH f7, to All #3/841-845)
* 33 bytes Mon 05-04-1992 12:42:21 (TH f7, added setscreenoff)
*
* ------------------------------------------------------
* (f8) Jump to Next Position Marker in Current File
* ------------------------------------------------------
* f8 jumps to the next position marker in the file currently being
* edited. See JMPPOSnn.QM for more.
f8 MacroBegin
setscreenoff * Remove if not using QEdit v2.15 *|
Find * Search Down for Pos Marker Label
#031 #030 Return DelLine Return
JTrue FOUND * Test if Found
BegFile * If Not, Start at Top of File
RepeatFind * and Repeat the Search
JTrue FOUND * Test if Now Found
PrevPosition * No Label in File, Return to
MakeCtrofScreen * orig Position and Center
Jump END
FOUND: * Label Was Found
MakeTopofScreen * Position Label Line at Top of Screen
ScrollDown * Remove it from View
END:
*
* 27 bytes Thu 10-03-1991 12:36:54 (TH f8, to All #3/841-845)
* 28 bytes Mon 05-04-1992 12:42:25 (TH f8, added setscreenoff)
* (Version) History
* ------------------
* 1.0 Initial. 5/27/92
* In Amac43.zip. 5/27/92
* 1.0a Added ( ) to Index line 1 for bok001.qm macros. 5/30/92
*
*
*
*
*-- (eof)